﻿/*
@author: ZZH
@date: 2021-11-05
@time: 14:18:57
@info: 单链表测试案例
*/
#include "MemMana.h"
#include "operations.h"
#include "stdio.h"
#include "SL-List-Vpt.h"
extern pMemPool_t __MemPools__[];

int main(int argc, const char** argv)
{
    pSLList_t list = SLL_Create_Vpt();//创建void*链表

    FOR(i, 7)
        SLL_Insert_Vpt(list, ZMalloc(0, i + 10));//存一个void*指针

    SLL_Print_Vpt_basic(list);//使用默认回调打印

    FOR(i, 7)
        ZFree(SLL_GetNodeValue_Vpt(list, i));//取出之前存的指针,并归还到内存池

    SLL_Delete(list);//删除链表结构及其全部节点

    //检查内存池可用空间,与初始值不同即代表产生内存泄漏
    printf(__MemPools__[0]->availableSize == 40960 ? "Memory Clear\r\n" : "Memory Leak\r\n");
    return 0;
}